// 封装购物车相关的API 函数
import request from '@/utils/request'

// 获取商品最新价格 库存 是否有效
export const getNewCartGoods = (skuId) => {
  return request(`/goods/stock/${skuId}`, 'get')
}

// 获取商品对应的 sku 数据
export const getGoodsSku = (skuId) => {
  return request(`/goods/sku/${skuId}`, 'get')
}

// 合并购物车  cartList是个数组，里面包含对象
// 对象里面的数据是选中状态，skuId， 数量
export const mergeCart = (cartList) => {
  return request('/member/cart/merge', 'post', cartList)
}

// 获取购物车列表
export const findCart = () => {
  return request('/member/cart', 'get')
}

// 加入购物车
export const insertCart = ({ skuId, count }) => {
  return request('/member/cart', 'post', { skuId, count })
}

// 删除购物车商品 支持批量删除
// ids 是一个数组，里面存放的是要删除元素的skuId的合集
export const deleteCart = (ids) => {
  return request('/member/cart', 'delete', { ids })
}

// 修改购物车商品(支持状态和数量修改)
export const updateCart = ({ skuId, selected, count }) => {
  return request(`/member/cart/${skuId}`, 'put', { selected, count })
}

// 全部选中或者取消全选
// ids 是一个数组，里面存放的是要删除元素的skuId的合集
export const checkAllCart = ({ selected, ids }) => {
  return request('/member/cart/selected', 'put', { selected, ids })
}
